A Dynamic Software Evolution by Metamodel Change
نویسنده
چکیده
Every long-time running software system is sooner or later subject of a change. The most common reasons are different requests for a bug fixing or adding a new functionality. Software maintenance forms bigger part of software’s lifetime. Before applying a change, it is essential to correctly understand current state of affected system. Without all relevant information about both – system as whole and implementation details, a change can introduce new bugs or even break functionality of the system. In the paper we present contribution to program comprehension and following program change. Our method utilizes metalevel architectures to separate legacy application from evolution tool. The tool, placed in metalevel, uses aspect-oriented techniques to introduce a new code in the base level legacy application. This code manages casual connection between base level and metamodel, which is automatically created in metalevel. According to the base level program behavior, the metamodel is created and/or updated. Depending on the metamodel change, the base level program is extended with code which affects its functionality. Since the metamodel describes related implementation in higher level of abstraction, the method improves program comprehension and simplifies change.
منابع مشابه
A Change Metamodel for the Evolution of MOF-Based Metamodels
The evolution of software systems often produces incompatibilities with existing data and applications. To prevent incompatibilities, changes have to be wellplanned, and developers should know the impact of changes on a software system. This consideration also applies to the field of model-driven development, where changes occur with the modification of the underlying metamodels. Models that ar...
متن کاملStructures and processes for managing model-metamodel co-evolution
Software changes over time. During the lifetime of a software system, unintended behaviour must be corrected and new requirements satisfied. Because software changes are costly, tools for automatically managing change are commonplace. Contemporary software development environments can automatically perform change management tasks such as impact analysis, refactoring and background compilation. ...
متن کاملTowards Querying of Traceability Information in the Context of Software Evolution
Traceability of various artifacts created during the development of software systems plays an important role in software evolution. Subsequent changes to artifacts must be traced to other artifacts potentially affected by the change, thus ensuring the system’s consistency or enabling to estimate the impact of changes. Using a querying approach, this paper shows how to extract traceability infor...
متن کاملChallenges in evolving Metamodels
Like every other software artifact, metamodels are subject to change even in later phases of the software life cycle. In this problem description paper, we first classify metamodel changes. We then elaborate on the challenges of metamodel evolution. The main challenges are the tight coupling of code to metamodels and the pervasiveness of metamodel dependencies. As this is a problem description ...
متن کاملAutomatability of Coupled Evolution of Metamodels and Models in Practice
Model-based software development promises to increase productivity by offering modeling languages tailored to a problem domain. Such modeling languages are often defined by a metamodel. In consequence of changing requirements and technological progress, these modeling languages and thus their metamodels are subject to change. Manually migrating models to a new version of their metamodel is tedi...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011